<?php
/**
 * 
 * @author natanael
 * controlador Actividad 
 * 
 */

class Historicorn extends Controller{
 
	public function __construct()
	{
	    parent::Controller();
	    $this->load->model(array('Hregistronombre','Mapellido','Mrnestatus','usuarios'));
	}
	
	public function index()
	{
	    $this->load->view('main', array('content_page' => 'registrohistorico_list','menutop' => 0));
	}
	
	public function data($id = false)
	{
	    $page = $this->input->post('page') ? $this->input->post('page') : 1; // Pagina Actual o 1 por default
		$sortname = $this->input->post('sidx') ? $this->input->post('sidx') : 'Id_RegistroNombre'; // Columna para el order by
		$sortorder = $this->input->post('sord') ? $this->input->post('sord') : 'desc'; // Orden (asc|desc)
		$limit = $this->input->post('rows') ? $this->input->post('rows') : 30;
		$start = $limit * $page - $limit;
		if($start < 0) $start = 0;
  
		    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
		    header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
		    header("Cache-Control: no-cache, must-revalidate" );
		    header("Pragma: no-cache" );

		$records = $this->Hregistronombre->loadHistorico($id, $start, $limit, $sortname, $sortorder);
		
		$totalRecords = count($records);

		$totalPages = ceil($totalRecords/$limit);
		if ($page > $totalPages) $page = $totalPages;

		$json_output = array(
		'page'		=> $page,
		'total'		=> $totalPages,
		'records'	=> $totalRecords,
		'rows'		=> array()
		);

		if($records != false) 
		{
			foreach($records as $objetos){
	            
				$apellido = $this->Mapellido->LoadApellidoById($objetos->getIdApellido());
				$estatus  = $this->Mrnestatus->LoadEstatusById($objetos->getIdEstatus());
				
				$arr = $json_output['rows'][] = array(
				       'Id_RegistroNombre'       => $objetos->getIdRegistroNombre(),
				       'Descripcion'             => $objetos->getDescripcion(),
				       'Id_Apellido'             => $apellido->getDescripcionApellido(),
				       'Categoria'               => $objetos->getCategoria(),
				       'FechaHistorico'          => $objetos->getFechaHistorico(),
				       'Id_Estatus'              => $estatus->getDescripcionEstatus() 
				);
			}
		}

		echo json_encode($json_output);
	}
	
	/**
	 * 
	 * Generar Excel Historico de Nombre
	 */
	public function generarExcel($id = false)
	{
		
		$body = "";
		
		$descripcion = "";
	   	$apellidos = "";
	   	$categoria = "";
	   	$estatu = "";
	   	$fecha = "";
	   	$usaurios = "";
	   	     
		$page = $this->input->post('page') ? $this->input->post('page') : 1; // Pagina Actual o 1 por default
		$sortname = $this->input->post('sidx') ? $this->input->post('sidx') : 'Id_RegistroNombre'; // Columna para el order by
		$sortorder = $this->input->post('sord') ? $this->input->post('sord') : 'desc'; // Orden (asc|desc)
		$limit = $this->input->post('rows') ? $this->input->post('rows') : 30;
		$start = $limit * $page - $limit;
		if($start < 0) $start = 0;
		
		$records = $this->Hregistronombre->loadHistorico($id, $start, $limit, $sortname, $sortorder);
		
	    foreach($records as $objetos){
	            
				$apellido = $this->Mapellido->LoadApellidoById($objetos->getIdApellido());
				$estatus  = $this->Mrnestatus->LoadEstatusById($objetos->getIdEstatus());
		        $usuario  = $this->usuarios->LoadUsuarioById($objetos->getIdUsuario());
				
		
				$descripcion .= $objetos->getDescripcion()."<br>";
		        $apellidos   .= $apellido->getDescripcionApellido()."<br>";
		        $categoria   .= $objetos->getCategoria()."<br>";
		        $estatu      .= $estatus->getDescripcionEstatus()."<br>";
		        $fecha       .= $objetos->getFechaHistorico()."<br>";
		        $usaurios    .= $usuario->getUsernameUsuario()."<br>";
				
		}
		
		$body = "<table>
		
					<tr>					
						<th>Descripcion</th>
						<th>Apellido</th>
						<th>Categoria</th>
						<th>Estatus</th>
						<th>Fecha</th>
						<th>Usuario</th>
					</tr>
					
					<tr>
					   
						<td>$descripcion</td>
						<td>$apellidos</td>
						<td>$categoria</td>
						<td>$estatu</td>
						<td>$fecha</td>
						<td>$usaurios</td>
					</tr>
		    </table>";
		
				
		$filename = "reportes-nombres-historico.xls";
		
	    $open = fopen($filename,"a") or die("Hubo un error");
        fputs($open,$body);
        fclose($open);
       
		header('Content-type: application/vnd.ms-excel');
		header("Content-Disposition: attachment; filename=reportes-nombres-historico.xls");
		header("Pragma: no-cache");
		header("Expires: 0");

		echo $body;
			     
	}
	
	public function save()
	{	
	    $data = array(
			          'Descripcion_Actividad'           => strtoupper($this->input->post('description')),
			          'Participacion'                   => intval($this->input->post('participacion'))
			         );
		
		if ($this->input->post('idActividad') == false) {
				 
			if ($this->Mactividad->crear($data) == true){
			     $this->session->set_flashdata('error_title', 'Se a Creado la Actividad');
			 }else{
			 	$this->session->set_flashdata('error_title', 'Huvo un error');
			 } 
			
		}else{
			           
			   if ($this->Mactividad->edit($data,$this->input->post('idActividad')) == true){
			        $this->session->set_flashdata('error_title', 'Se Edit la Actividad');
			   }else{
			 	$this->session->set_flashdata('error_title', 'Huvo un error');
			   }        
			
		}
		
		redirect('Actividad');
	
	}

}